//
// Created by hjhu on 2024/7/2.
//

#ifndef TEST_WAV2LIP_CPP_BASEMODULE_H
#define TEST_WAV2LIP_CPP_BASEMODULE_H

#include <torch/torch.h>

namespace coastal {

    class BaseModuleImpl : public torch::nn::Module {
    public:

        template<typename ModuleType>
        std::shared_ptr<ModuleType> get_module(const std::string &name) {
            auto &mod = named_children()[name];
            return std::dynamic_pointer_cast<ModuleType>(mod);
        }
    };

}

#endif //TEST_WAV2LIP_CPP_BASEMODULE_H
